﻿#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

//双向链表结构
typedef int LTDataType;
typedef struct LTNode
{
	LTDataType data;
	struct LTNode* next;
	struct LTNode* prev;
}LTNode;


//初始化
LTNode* Init(); 

//打印
void LTNPrint(LTNode* phead);

//创建新节点
LTNode* NodeBuy(LTDataType x);

//尾插
void LTNPushBack(LTNode* phead, LTDataType x);

//头插
void LTNpushFront(LTNode* phead, LTDataType x);

//尾删
void LTNPopBack(LTNode* phead);

//头删
void LTNPopFront(LTNode* phead);

//在pos位置之后插⼊数据
void LTInsert(LTNode* pos, LTDataType x);

//在pos位置删除数据
void LTErase(LTNode* pos);

//查找
LTNode* LTFind(LTNode* phead, LTDataType x);

//销毁
void LTDestroy(LTNode** phead);